package com.bifrost.service;

import com.bifrost.common.base.ServerResponse;
import com.bifrost.entity.User;
import com.bifrost.model.param.PermissionParam;

import java.util.Map;

/**
 * Author by yanxiaobo
 * Date on 2018/4/10$.
 */
public interface PermissionService {
    /**
     * 获取所有的权限数据
     * @return
     */
    ServerResponse list();

    /**
     * 获取权限数据，并且组装为需要的数据结构
     * @return
     */
    Map<String,String> buildFilterChainDefinitionMap();


    ServerResponse getUserPermissions(Integer userId);

    /**
     * 新增权限点
     * @param param
     * @return
     */
    ServerResponse add(PermissionParam param);

    /**
     * 更新权限
     * @param param
     * @return
     */
    ServerResponse update(PermissionParam param, User currentUser);

    /**
     *删除权限
     * @param menuId
     * @return
     */
    ServerResponse delete(Integer menuId);
}
